package com.pn.mapper;

import com.pn.model.Role;
import com.pn.page.Page;
import io.lettuce.core.dynamic.annotation.Param;

import java.util.List;

public interface RoleMapper {
    int deleteByPrimaryKey(Integer roleId);

    int insert(Role record);

    int insertSelective(Role record);

    Role selectByPrimaryKey(Integer roleId);

    int updateByPrimaryKeySelective(Role record);

    int updateByPrimaryKey(Role record);

    //查询所有角色
    List<Role> findAllRole();

    //根据用户Id查询用户已经被分配的角色
    List<Role> findUserRoleByUid(Integer userId);
    //根据用户名查询角色id
    Integer findRoleIdByName(String roleName);
    //查询角色行数
    Integer findRoleRowCount(Role role);
    //分页查询角色
    List<Role> findRolePage(@Param("page") Page page, @Param("role") Role role);
    //根据角色名称或者角色代码查询角色
    Role findRoleByNameOrCode(String roleName, String roleCode);
    //添加角色
    int insertRole(Role role);
    //启用或者禁用角色
    int setRoleStateByRid(Integer roleId, String roleState);
    //删除角色
    int removeRoleById(Integer roleId);
    //修改角色
    int setDescByRid(Role role);
}